Las pruebas no paramĂ©tricas son un conjunto de tĂ©cnicas de prueba estadĂstica que se utilizan para evaluar hipĂłtesis sobre una poblaciĂłn cuando no se tienen suficientes datos para suponer una distribuciĂłn particular de los datos. A diferencia de las pruebas paramĂ©tricas, que asumen una distribuciĂłn particular de los datos (como la distribuciĂłn normal), las pruebas no paramĂ©tricas no requieren ninguna suposiciĂłn sobre la distribuciĂłn de los datos.
Algunas pruebas no paramétricas comunes incluyen:
Prueba de Wilcoxon: se utiliza para comparar dos grupos de datos ordenados y se utiliza a menudo cuando los datos no siguen una distribuciĂłn normal.
Prueba de Kruskal-Wallis: se utiliza para comparar mĂĄs de dos grupos de datos ordenados y se utiliza a menudo cuando los datos no siguen una distribuciĂłn normal.
Prueba de Mann-Whitney: se utiliza para comparar dos grupos de datos no ordenados y se utiliza a menudo cuando los datos no siguen una distribuciĂłn normal.
Prueba de chi-cuadrado: se utiliza para comparar una distribuciĂłn observada de datos con una distribuciĂłn esperada y se utiliza a menudo para comparar datos categĂłricos.
Es importante tener en cuenta que las pruebas no paramétricas suelen ser menos robustas (es decir, tienen menor capacidad para detectar diferencias significativas) que las pruebas paramétricas, por lo que es importante elegir la prueba adecuada para su conjunto de datos y objetivo de investigación.
La prueba de Wilcoxon es una prueba no paramétrica utilizada para comparar dos grupos de datos ordenados y se utiliza a menudo cuando los datos no siguen una distribución normal. Esta prueba es similar a la prueba t de Student, que es una prueba paramétrica utilizada para comparar dos grupos de datos, pero la prueba de Wilcoxon no requiere que los datos sigan una distribución normal.
Ejemplo de prueba Wilcoxon
Primero necesitamos cargar la base de datos, en este caso utlizaremos
delomys.csv
Delomys <- read.csv("data/delomys.csv")
Ahora podemos realizar la prueba con el comando
wilcox.test()
wilcox.test(body_mass ~ sex, data= Delomys, alternative = "two.sided")
##
## Wilcoxon rank sum test with continuity correction
##
## data: body_mass by sex
## W = 276473, p-value = 8.748e-05
## alternative hypothesis: true location shift is not equal to 0
La prueba de Mann-Whitney es una prueba no paramétrica utilizada para comparar dos grupos de datos no ordenados y se utiliza a menudo cuando los datos no siguen una distribución normal. Esta prueba es similar a la prueba t de Student, que es una prueba paramétrica utilizada para comparar dos grupos de datos, pero la prueba de Mann-Whitney no requiere que los datos sigan una distribución normal.
Es importante tener en cuenta que la prueba de Mann-Whitney solo puede utilizarse para comparar dos grupos de datos y no es adecuada para comparar mĂĄs de dos grupos. En su lugar, se puede utilizar la prueba de Kruskal-Wallis para comparar mĂĄs de dos grupos de datos ordenados o la prueba de chi-cuadrado para comparar mĂĄs de dos grupos de datos categĂłricos.
Ejemplo de la prueba Mann-Whitney
Para realizar la prueba de Mann-Whitney en R, puedes utilizar la funciĂłn wilcox.test() con el argumento alternative = âtwo.sidedâ. La sintaxis para la funciĂłn wilcox.test() es la siguiente:
wilcox.test(body_mass ~ sex, data= Delomys, alternative = "two.sided")
##
## Wilcoxon rank sum test with continuity correction
##
## data: body_mass by sex
## W = 276473, p-value = 8.748e-05
## alternative hypothesis: true location shift is not equal to 0
La prueba de Wilcoxon y la prueba de Mann-Whitney son ambas pruebas no paramétricas utilizadas para comparar dos grupos de datos, pero hay algunas diferencias clave entre ellas. En la prueba de Wilcoxon se utiliza para comparar dos grupos de datos ordenados mientras que la prueba de Mann-Whitney se utiliza para comparar dos grupos de datos no ordenados.
La prueba de Kruskal-Wallis es una prueba no paramétrica utilizada para comparar mås de dos grupos de datos ordenados y se utiliza a menudo cuando los datos no siguen una distribución normal. Esta prueba es similar a la prueba ANOVA, que es una prueba paramétrica utilizada para comparar mås de dos grupos de datos, pero la prueba de Kruskal-Wallis no requiere que los datos sigan una distribución normal.
Ejemplo de prueba Kruskal-wallis
Para este ejemplo utilizaremos la base de datos penguins
del paquete palmerpenguins
library(palmerpenguins)
data(peguins)
## Warning in data(peguins): data set 'peguins' not found
Utilizares la prueba de Kruskal-wallis para comparar la masa del cuerpo de los pinguinos por especie.
kruskal.test(body_mass_g ~ species, data= penguins)
##
## Kruskal-Wallis rank sum test
##
## data: body_mass_g by species
## Kruskal-Wallis chi-squared = 217.6, df = 2, p-value < 2.2e-16
Como se puedo observar el resultado indica que hay diferencias significativas de la masa del cuerpo por especie de pinguino, ahora necesitaremos realizar una prueba de contraste. En este caso utilizaremos la prueba Dunn.
La prueba de Dunn es una prueba no paramétrica utilizada para comparar mås de dos grupos de datos ordenados. Esta prueba se utiliza a menudo después de realizar una prueba de Kruskal-Wallis, que es otra prueba no paramétrica utilizada para comparar mås de dos grupos de datos ordenados, cuando se ha encontrado una diferencia significativa entre al menos dos de los grupos.
library(FSA)
## ## FSA v0.9.3. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
dunnTest(body_mass_g ~ species, data= penguins)
## Warning: Some rows deleted from 'x' and 'g' because missing data.
## Dunn (1964) Kruskal-Wallis multiple comparison
## p-values adjusted with the Holm method.
## Comparison Z P.unadj P.adj
## 1 Adelie - Chinstrap -0.3973552 6.911056e-01 6.911056e-01
## 2 Adelie - Gentoo -13.8280088 1.727360e-43 5.182080e-43
## 3 Chinstrap - Gentoo -10.7303390 7.332668e-27 1.466534e-26
La prueba de chi cuadrado es una prueba estadĂstica utilizada para comparar dos o mĂĄs grupos de datos categĂłricos. Esta prueba se basa en la hipĂłtesis nula de que no hay diferencias significativas entre los grupos y se utiliza para determinar si hay una asociaciĂłn entre las variables categĂłricas.
Para realizar una prueba de chi cuadrado, se crea una tabla de contingencia que muestra la frecuencia de cada combinaciĂłn de categorĂas entre las dos variables.
Ejemplo Chi Cuadrado
Para este ejemplo utilizares la base de datos Delomys,
analisaremos si existe una asiciacion entre la variable
status y age.
TablaCon <- table(Delomys$status, Delomys$age)
TablaCon
##
## adult juvenile
## alive 1075 123
## dead 60 12
chisq.test(TablaCon)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: TablaCon
## X-squared = 2.2931, df = 1, p-value = 0.13
barplot(TablaCon,
main = "GrĂĄfico de chi cuadrado",
xlab = "Edad",
ylab = "Estado")
library(vcd)
## Loading required package: grid
mosaic(~ status + age, data = Delomys, shade = T)
Hay varios tipos de grĂĄficos que se pueden utilizar para mostrar diferencias significativas entre dos o mĂĄs grupos de datos. Algunos de los grĂĄficos mĂĄs comunes que se utilizan para este propĂłsito son:
Gråfico de barras: Este gråfico muestra la frecuencia o el promedio de cada grupo en forma de barras verticales o horizontal. Es adecuado para comparar dos o mås grupos de datos numéricos o categóricos.
GrĂĄfico de lĂneas: Este grĂĄfico muestra el cambio en una variable a lo largo del tiempo o en funciĂłn de otra variable. Es adecuado para comparar dos o mĂĄs grupos de datos numĂ©ricos que tienen un orden natural.
Gråfico de puntos: Este gråfico muestra los valores individuales de cada grupo como puntos en un eje coordenado. Es adecuado para comparar dos o mås grupos de datos numéricos.
Gråfico de cajas: Este gråfico muestra la distribución de los datos de cada grupo mediante el uso de una caja que representa el rango intercuartil y dos bigotes que representan el resto de los datos. Es adecuado para comparar dos o mås grupos de datos numéricos.
Es importante tener en cuenta que cada grĂĄfico tiene sus propias ventajas y desventajas y que es importante elegir el grĂĄfico adecuado en funciĂłn de los datos y el mensaje que se desea transmitir.
Para todos los ejemplo a continuacion utilizaremos el paquete
ggplot2 y la base de datos penguins
Para realizar nuetro grafico podemos usar la siguiente sintaxis
Primer ejemplo Sexo por Masa
library(ggplot2)
ggplot(data= penguins, aes(x= sex, y = body_mass_g)) +
geom_bar(stat = "identity") +
labs(title = "Masa da cuerpo por sexo en pinguinos",
y= "Masa en gramos",
x= "Sexo")+
theme_classic()
## Warning: Removed 2 rows containing missing values (`position_stack()`).
Que se observa con este grafico?
Sera apropiado para visualizar una comparacion?
Segundo ejemplo Sexo por Masa
Primero necesitaremos organizar nuestros datos para obtener la media y error estandard
library(FSA)
Sex_body <- Summarize(body_mass_g ~ sex, data= penguins)
Sex_body$ES <- Sex_body$sd / sqrt(Sex_body$n)
Una vez que tenemos nuestra tabla podemos graficar
ggplot(data= Sex_body, aes(x= sex, y = mean)) +
geom_bar(stat = "identity") +
geom_errorbar(aes(ymin= mean - ES,
ymax= mean + ES)) +
labs(title = "Masa da cuerpo por sexo en pinguinos",
y= "Masa en gramos",
x= "Sexo")+
theme_classic()
Que se observa con este grafico?
Sera apropiado para visualizar una comparacion?
Para realizar un grafico de caja normal usamos la siguiente sintaxis
Primer ejemplo Sexo por Masa
ggplot(data= penguins, aes(x= sex, y = body_mass_g)) +
geom_boxplot() +
labs(title = "Masa da cuerpo por sexo en pinguinos",
y= "Masa en gramos",
x= "Sexo")+
theme_classic()
## Warning: Removed 2 rows containing non-finite values (`stat_boxplot()`).
Que se observa con este grafico?
Sera apropiado para visualizar una comparacion?
Segundo ejemplo Sexo por Masa
Primero necesitaremos organizar nuestros datos para obtener la media y error estandard
library(FSA)
Sex_body <- Summarize(body_mass_g ~ sex, data= penguins)
Sex_body$ES <- Sex_body$sd / sqrt(Sex_body$n)
Una vez que tenemos nuestra tabla podemos graficar
ggplot(data= Sex_body, aes(x= sex, y = mean)) +
geom_point(size= 5, shape = 15) +
geom_errorbar(aes(ymin= mean - ES,
ymax= mean + ES),
width = 0.5) +
labs(title = "Masa da cuerpo por sexo en pinguinos",
y= "Masa en gramos",
x= "Sexo")+
theme_classic()
Que se observa con este grafico?
Sera apropiado para visualizar una comparacion?
Tercer ejemplo Especie por Masa
ggplot(data= penguins, aes(x= species, y = body_mass_g)) +
geom_boxplot() +
labs(title = "Masa da cuerpo por especie en pinguinos",
y= "Masa en gramos",
x= "Especie")+
annotate("text", x = "Adelie", y = 5000, label = "a")+
annotate("text", x = "Chinstrap", y = 5000, label = "a")+
annotate("text", x = "Gentoo", y = 6500, label = "a")+
theme_classic()
## Warning: Removed 2 rows containing non-finite values (`stat_boxplot()`).
Cuarto ejemplo Especie por Masa
Primero necesitaremos organizar nuestros datos para obtener la media y error estandard
Especie_body <- Summarize(body_mass_g ~ species, data= penguins)
Especie_body$ES <- Sex_body$sd / sqrt(Especie_body$n)
## Warning in Sex_body$sd/sqrt(Especie_body$n): longitud de objeto mayor no es
## mĂșltiplo de la longitud de uno menor
Una vez que tenemos nuestra tabla podemos graficar
ggplot(data= Especie_body, aes(x= species, y = mean)) +
geom_point(size= 5, shape = 15) +
geom_errorbar(aes(ymin= mean - ES,
ymax= mean + ES),
width = 0.5) +
labs(title = "Masa da cuerpo por especie en pinguinos",
y= "Masa en gramos",
x= "Especie")+
annotate("text", x = "Adelie", y = 4000, label = "a")+
annotate("text", x = "Chinstrap", y = 4000, label = "a")+
annotate("text", x = "Gentoo", y = 5200, label = "b")+
theme_classic()